登录功能，若不用权限框架，通过session和intersetor实现。
将用户名存放在session中，并通过拦截器对服务器的动态或静态资源请求做一个统一的拦截。

shiro中，首先是用户表，角色表，权限表，  用户--角色关联表，  角色--权限关联表
relam中，继承AuthorizingRealm，实现doGetAuthorizationInfo（授权（主要是找到对应的角色和权限并返回））和
doGetAuthenticationInfo（认证（校验用户名和密码））两个方法。
spring-shiro中，配置有一些对请求的拦截。
    String rand=(String)SecurityUtils.getSubject().getSession().getAttribute("rand");
shiro自带的session.

    UsernamePasswordToken token = new UsernamePasswordToken(userValidate.getUsername(), userValidate.getPassword());
    SecurityUtils.getSubject().login(token);(login中会默认通过subject走认证方法中定义的流程)
new用户名，密码token。调用login进行登录。
